A Staged Static Program Analysis to Improve the Performance of Runtime Monitoring

نویسندگان

  • Eric Bodden
  • Laurie J. Hendren
  • Ondrej Lhoták
چکیده

In runtime monitoring, a programmer specifies a piece of code to execute when a trace of events occurs during program execution. Our work is based on tracematches, an extension to AspectJ, which allows programmers to specify traces via regular expressions with free variables. In this paper we present a staged static analysis which speeds up trace matching by reducing the required runtime instrumentation. The first stage is a simple analysis that rules out entire tracematches, just based on the names of symbols. In the second stage, a points-to analysis is used, along with a flow-insensitive analysis that eliminates instrumentation points with inconsistent variable bindings. In the third stage the points-to analysis is combined with a flow-sensitive analysis that also takes into consideration the order in which the symbols may execute. To examine the effectiveness of each stage, we experimented with a set of nine tracematches applied to the DaCapo benchmark suite. We found that about 25% of the tracematch/benchmark combinations had instrumentation overheads greater than 10%. In these cases the first two stages work well for certain classes of tracematches, often leading to significant performance improvements. Somewhat surprisingly, we found the third, flow-sensitive, stage did not add any improvements.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

A staged static program analysis to improve the performance of runtime monitoring abc Technical Report No . abc - 2006 - 4

In runtime monitoring a programmer specifies a piece of code to execute when a trace of events occurs during program execution. Our work is based on tracematches, an extension to AspectJ, which allows programmers to specify traces via regular expressions with free variables. In this paper we present a staged static analysis which speeds up trace matching by reducing the required runtime instrum...

متن کامل

A staged static program analysis to improve the performance of runtime monitoring ( extended version ) abc

In runtime monitoring, a programmer specifies a piece of code to execute when a trace of events occurs during program execution. Our work is based on tracematches, an extension to AspectJ, which allows programmers to specify traces via regular expressions with free variables. In this paper we present a staged static analysis which speeds up trace matching by reducing the required runtime instru...

متن کامل

Preventing Key Performance Indicators Violations Based on Proactive Runtime Adaptation in Service Oriented Environment

Key Performance Indicator (KPI) is a type of performance measurement that evaluates the success of an organization or a partial activity in which it engages. If during the running process instance the monitoring results show that the KPIs do not reach their target values, then the influential factors should be identified, and the appropriate adaptation strategies should be performed to prevent ...

متن کامل

The Effect of 8 Weeks Virtual Reality Training on Static and Dynamic Balance and Performance in Male Athletes With Functional Ankle Instability

  Introduction: The purpose of this study is to investigate the effect of  8 weeks  virtual reality training on static and dynamic balance and performance of in male athletes with functional ankle instability Research Methodology: For this research, 30 volleyball, basketball, football and handball players ranged from 18 to 25 years were selected purposefully from Tehran province league male a...

متن کامل

A Framework for Automatic Performance Monitoring, Analysis and Optimisation of Component Based Software Systems

A framework for automating the runtime performance management of component-based software systems is presented. The framework leverages static performance information obtained at component development time, if available, and executes performance monitoring, analysis and optimisation operations during runtime. The dynamic performance optimisation process is based on the automatic selection and a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007